09. What is a Point Cloud?

What is a Point Cloud?

In the previous sections we've explored various techniques used by 3D sensors to infer depth information from a scene. Here, we will look at how we can represent that information as a point cloud, which is an abstract data type responsible for storing data from our RGB-D sensor.

Point clouds are digital representations of three dimensional objects. In practical implementations, they can also contain additional metadata for each point, as well as a number of useful methods for operating on the point cloud.

Examples, of additional metadata might include

  • RGB values for each point
  • Intensity values
  • Local curvature information

Additional methods provided might include

  • Iterators for traversing points spatially
  • Methods for filtering the cloud based on particular properties
  • Operators for performing statistical analyses on the cloud

Point cloud data from a Lidar scanner

Point cloud data from a Lidar scanner

Nearly all 3D scanners or Lidars output data as high accuracy Point Clouds. Data from stereo cameras and RGB-D cameras can also be easily converted into Point Clouds. Point Clouds are used in numerous applications where 3D spatial information is a key component of the data. Some example applications include:

  • Depth sensor measurements
  • Models of real-world objects
  • The extent of a robot’s workspace
  • Environment maps

As you can see, the Point Clouds are a convenient and useful way to represent spatial data! As for how point clouds are represented computationally, here is an example of the datatypes associated with each point of data from an RGB-D camera: